﻿using System;
using System.ServiceModel.Activation;
using System.Web;
using System.Web.Routing;
using Acaweb.Services.Security;
using Acaweb.Servicios.Services;

namespace Acaweb.Servicios
{
    public class Global : HttpApplication
    {
        void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes();
        }

        private void RegisterRoutes()
        {
            RouteTable.Routes.Add(new ServiceRoute("Authentication", new UnsecureServiceFactory(), typeof(AuthenticationService)));
            RouteTable.Routes.Add(new ServiceRoute("Formularios", new UnsecureServiceFactory(), typeof(FormulariosService)));
            RouteTable.Routes.Add(new ServiceRoute("Instituciones", new AcawebServiceFactory(), typeof(InstitucionesService)));
            RouteTable.Routes.Add(new ServiceRoute("Materias", new AcawebServiceFactory(), typeof(MateriasService)));
            RouteTable.Routes.Add(new ServiceRoute("Contactos", new AcawebServiceFactory(), typeof(ContactosService)));
            RouteTable.Routes.Add(new ServiceRoute("Cursos", new AcawebServiceFactory(), typeof(CursosService)));
            RouteTable.Routes.Add(new ServiceRoute("CursosMatriculados", new AcawebServiceFactory(), typeof(CursosMatriculadosService)));
            RouteTable.Routes.Add(new ServiceRoute("Departamentos", new UnsecureServiceFactory(), typeof(DepartamentosService)));
            RouteTable.Routes.Add(new ServiceRoute("Egresados", new AcawebServiceFactory(), typeof(EgresadosService)));
            RouteTable.Routes.Add(new ServiceRoute("Facultades", new AcawebServiceFactory(), typeof(FacultadesService)));
            RouteTable.Routes.Add(new ServiceRoute("Inscripciones", new AcawebServiceFactory(), typeof(InscripcionesService)));
            RouteTable.Routes.Add(new ServiceRoute("Interesados", new UnsecureServiceFactory(), typeof(InteresadosService)));
            RouteTable.Routes.Add(new ServiceRoute("Municipios", new UnsecureServiceFactory(), typeof(MunicipiosService)));
            RouteTable.Routes.Add(new ServiceRoute("Paises", new UnsecureServiceFactory(), typeof(PaisesService)));
            RouteTable.Routes.Add(new ServiceRoute("Pensum", new AcawebServiceFactory(), typeof(PensumService)));
            RouteTable.Routes.Add(new ServiceRoute("PlanesEstudios", new UnsecureServiceFactory(), typeof(PlanesEstudiosService)));
            RouteTable.Routes.Add(new ServiceRoute("Estudiantes", new AcawebServiceFactory(), typeof(EstudiantesService)));
            RouteTable.Routes.Add(new ServiceRoute("Representantes", new AcawebServiceFactory(), typeof(RepresentantesService)));
            RouteTable.Routes.Add(new ServiceRoute("Votos", new AcawebServiceFactory(), typeof(VotosService)));
            RouteTable.Routes.Add(new ServiceRoute("DocumentosEntregados", new AcawebServiceFactory(), typeof(DocumentosEntregadosService)));
            RouteTable.Routes.Add(new ServiceRoute("DocumentosPendientes", new AcawebServiceFactory(), typeof(DocumentosPendientesService)));
            RouteTable.Routes.Add(new ServiceRoute("TiposFormularios", new AcawebServiceFactory(), typeof(TiposFormulariosService)));
            RouteTable.Routes.Add(new ServiceRoute("EvaluarEstudiantes", new AcawebServiceFactory(), typeof(EvaluarEstudiantesService)));
            RouteTable.Routes.Add(new ServiceRoute("Empresas", new UnsecureServiceFactory(), typeof(EmpresasService)));
            RouteTable.Routes.Add(new ServiceRoute("Solicitudes", new UnsecureServiceFactory(), typeof(SolicitudesService)));
            RouteTable.Routes.Add(new ServiceRoute("Practicantes", new UnsecureServiceFactory(), typeof(PracticantesService)));
            RouteTable.Routes.Add(new ServiceRoute("Bitacoras", new AcawebServiceFactory(), typeof(BitacorasService)));
            RouteTable.Routes.Add(new ServiceRoute("Reportes", new AcawebServiceFactory(), typeof(ReportesService)));
            RouteTable.Routes.Add(new ServiceRoute("Competencias", new UnsecureServiceFactory(), typeof(CompetenciasService)));
            RouteTable.Routes.Add(new ServiceRoute("CompetenciasPracticantes", new AcawebServiceFactory(), typeof(CompetenciasPracticantesService)));
            RouteTable.Routes.Add(new ServiceRoute("Idiomas", new UnsecureServiceFactory(), typeof(IdiomasService)));
            RouteTable.Routes.Add(new ServiceRoute("Docentes", new UnsecureServiceFactory(), typeof(DocentesService)));
        }
    }
}
